An Inter-Integrated Circuit (I2C) bus is a multi-master, multi-slave, single-ended, serial computer bus often used for attaching low-speed peripherals (e.g., serial memory devices) to computer motherboards and embedded systems. I2C protocol does not provide mechanisms for changing the internal behavior of a peripheral device, resulting in different versions of serial devices being manufactured for different applications.